Method and Apparatus for M-Level Control and Digital-To-Analog Conversion

ABSTRACT

A method is disclosed for steering a physical analog system (e.g., an electric motor) using a discrete-level (e.g., binary) control signal. The discrete-level control signal is computed by an iterative scheme that can handle a long planning horizon. A preference for infrequent level switches can be taken into account. The quality of the fit to the target trajectory can be expressed not only by the quadratic error, but also by other norms. The method can be used also for digital-to-analog conversion.

TECHNICAL FIELD

The invention relates to finite control set model predictive control (FCS-MPC) and digital-to-analog conversion by using methods from sparse Bayesian learning.

In particular, the invention relates to a method for controlling an analog physical system with at least one M-level input signal(s) as well as to a device for carrying out this method.

BACKGROUND ART

The problem of computing a binary, ternary, or M-level input signal to steer an analog physical system along some desired trajectory, or to make it produce some desired analog output signal, appears both in automatic control and in digital-to-analog conversion. This problem is not trivial (even for linear systems), and the computational complexity of known algorithms for computing “optimal” such input signals grows exponentially with the planning horizon [1].

In model predictive control (MPC), many pertinent methods have been developed [2, 3, 4, 5], with different trade-offs between “optimality” within a fixed (small) planning horizon vs. the ability to handle a long planning horizon. However, for applications requiring a long planning horizon, existing methods are often unsatisfactory.

One method for digital-to-analog conversion is to feed a digitally computed binary (or M-level) signal into an analog linear filter, which then produces (an approximation of) the desired analog signal. A standard method to compute the required binary (or M-level) signal uses a digital ΔΣ modulator, which, however, limits the planning horizon to a single step in time. Longer planning horizons can be achieved with the same methods (and with the same limitations) as in MPC.

In order to solve the limited-horizon problem, the disclosed method uses ideas originating from sparse Bayesian learning [6, 7, 8, 9] and variational representations of non-Gaussian distributions as in [10, 11, 12].

DISCLOSURE OF THE INVENTION

The problem solved by the invention is to compute a binary, ternary, or M-level input signal to steer a linear (or linearized) analog physical system along some desired trajectory, or to make it produce some desired analog output signal, by a method that can handle an arbitrarily long planning horizon. Moreover, a preference for sparsity can easily be added so that the number of level switches in the discrete input signal(s) is kept small.

The key idea is to represent the M-level constraint by a combination of suitably parameterized Gaussian distributions (as detailed in Section 4), which enables the actual computation of the Ai-level input signal by means of iterations of Kalman-type recursions (as detailed in Section 5). In consequence, the computational complexity per iteration grows only linearly with the planning horizon.

In formal terms, the invention is a method for controlling an analog physical system with input signal u=(u₁, . . . , u_(K)) to follow a given target trajectory y̆=(y̆₁, . . . , y̆_(K)), wherein at least one component (

, . . . ,

) of said input signal is discrete-valued with M levels, M∈{2, 3, . . . }, wherein

-   -   u_(K)=(u_(k,1), . . . , u_(k,L))∈         ^(L) is the input signal of the analog physical system at time         k∈{1, . . . , K},     -   K∈         (normally K>>1) is a planning horizon,     -   L is the number of input signal components,     -   (with 1≤         ≤L) is the index of said discrete-valued component of u,     -   y̆_(k)=(y̆_(k,1), . . . , y̆_(k,H))∈         ^(H) is the given target trajectory at time k,     -   H is the number of components of the target trajectory,         wherein said method uses an extended system model with output         signal {tilde over (y)}=({tilde over (y)}₁, . . . , {tilde over         (y)}_(K)), {tilde over (y)}_(k)∈R″ for some {tilde over (H)}≥H,         and with input signal ũ=(ũ₁, . . . , ũ_(K)), ũ_(k)∈         ^(H) for some {tilde over (L)}≥L, such that

u _(k) =Sũ _(k)  (1)

for some matrix S and all k∈{1, . . . , K}, and with Lime-dependent parameters θ=(θ₁, . . . , θ_(K)) and optional additional parameters ξ=(ξ₁, . . . , ξ_(K)), wherein ũ=(ũ₁, . . . , ũ_(K)) is determined by iteratively executing, in iterations i=1, 2, 3 . . . . , the steps of

-   -   (a) executing a maximization step in said extended system model         with parameters θ fixed to θ^((i−1)) and ξ, fixed to ξ^((i−1)),         thereby obtaining a candidate input signal (ũ₁ ^((i)), . . . ,         ũ_(K) ^((i))) with optional precision information (V_(Ũ) ₁         ^((i)), . . . , V_(Ũ) _(K) ^((i))), and an output signal ({tilde         over (y)}₁ ^((i)), . . . , {tilde over (y)}_(K) ^((i))) with         optional precision information (V_({tilde over (Y)}) ₁ ^((i)), .         . . , V_({tilde over (Y)}) _(K) ^((i))), and     -   (b) determining new parameters θ(θ₁ ^((i)), . . . , θ_(K)         ^((i))) and optionally ξ^((i))=(ξ₁ ^((i)), . . . , ξ_(K)         ^((i))), where θ_(k) ^((i)) is a function of ũ_(k) ^((i)) and         V_(Ũ) _(k) ^((i)), and ξ_(k) ^((i)) is a function of {tilde over         (y)}_(k) ^((i)) and V_({tilde over (Y)}) _(k) ^((i)) as computed         in Step (a), and wherein said extended system model can be         expressed as

p(ũ,ẙ,{tilde over (x)} ₀ ,{tilde over (e)}|θ,ξ)∝p(ẙ|ũ,{tilde over (x)} ₀ ,{tilde over (e)},ξ)p(ũ,θ)p({tilde over (x)} ₀)p({tilde over (e)})  (2)

wherein

-   -   p(ú, ẙ, {tilde over (x)}₀, {tilde over (e)}|θ, ξ) is a         probability density function in ũ, ẙ, {tilde over (x)}₀ and         {tilde over (e)} with parameters θ and ξ,     -   ẙ=(ẙ₁, . . . , ẙ_(K)), ẙ_(k)∈         ^(H), is the target trajectory of said extended system model         comprising y̆ and optionally additional trajectories,     -   “∝” denotes equality up to a scale factor,     -   said analog physical system is modeled by a discrete-time linear         state space model recursions

x _(k) =A _(k) x _(k) +B _(k) u _(k) +D _(k) e _(k)  (3)

y _(k) =C _(k) x _(k)  (4)

-   -   for k∈{1, . . . , K}, and with state vector x_(k)∈         ^(N), initial state x₀ noise e_(k)∈         ^(G), model. output y_(k)∈         ^(H) and matrices A_(k), B_(k), C_(k), D_(k),     -   said method uses an extended version of model (3) and (4) which         is given by the state space recursions

{tilde over (x)} _(k) =Ã _(k) {tilde over (x)} _(k) +{tilde over (B)} _(k) Sũ _(k) +{tilde over (D)} _(k) {tilde over (e)} _(k)  (5)

{tilde over (y)} _(k) ={tilde over (C)} _(k) {tilde over (x)} _(k)  (6)

-   -   for k∈{1, . . . , K}, and with state vector x_(k)∈         ^(Ñ) with Ñ≥N, initial state x₀, noise e_(k)∈         ^(G) with {tilde over (G)}≥G, and wherein the matrices A_(h),         B_(k), C_(k) and D_(k) are derived from A_(k), B_(k), C_(k) and         D_(k),     -   p(ẙ|ũ, {tilde over (x)}₀, {tilde over (e)}, ξ) is given by

$\begin{matrix} {{p\left( {{\overset{\circ}{y}❘\overset{\sim}{u}},{\overset{\sim}{x}}_{0},\overset{\sim}{e},\zeta} \right)} \propto {{\exp\left( {{- \frac{1}{2}}{\sum\limits_{k = 1}^{K}{\left( {{\overset{\circ}{y}}_{k} - {\overset{\sim}{y}}_{k}} \right)^{T}{W_{k}\left( {{\overset{\circ}{y}}_{k} - {\overset{\sim}{y}}_{k}} \right)}}}} \right)}{\psi\left( {\overset{\sim}{y},\zeta} \right)}}} & (7) \end{matrix}$

where W_(k) is a real non-negative weight matrix and where {tilde over (y)}_(k) is the extended system model output signal determined by (5) and (6),

-   -   ψ({tilde over (y)}, ξ) is an optional factor in (7), which means         it is either 1, or if present, it may take the form

$\begin{matrix} {{\psi\left( {\overset{\sim}{y},\zeta} \right)} = {\prod\limits_{k = 1}^{K}{\psi_{k}\left( {{\overset{\sim}{y}}_{k},\zeta_{k}} \right)}}} & (8) \end{matrix}$

-   -   such that, for fixed ξ_(k), ψ_(k)({tilde over (y)}_(k), ξ_(k))         is a Gaussian probability density function in up to a scale         factor,     -   p({tilde over (x)}₀) is a Gaussian probability density,     -   p({tilde over (e)}) factors as

$\begin{matrix} {{p\left( \overset{\sim}{e} \right)} = {\prod\limits_{k = 1}^{K}{p\left( {\overset{\sim}{e}}_{k} \right)}}} & (9) \end{matrix}$

-   -   where each p(e_(k)) is a Gaussian probability density,     -   p(ũ, θ) factors as

$\begin{matrix} {{\rho\left( {\overset{\sim}{u},\theta} \right)} = {\prod\limits_{k = 1}^{K}{\rho_{k}\left( {{\overset{\sim}{u}}_{k},\theta_{k}} \right)}}} & (10) \end{matrix}$

-   -   such that,         -   for fixed θ_(k), p_(k)(ũ_(k), θ_(k)) is a Gaussian             probability density function in u_(k), up to a scale factor,             and         -   for at least one index             ∈{1, . . . , L}, p_(k)(ũ_(k), θ_(k)) contains as a factor             the product

(

;m ₁,σ_(k,1) ²) . . .

(

;m _(J),σ_(k,J) ²)  (11)

-   -   -   of J≥2 Gaussian probability density functions with different             means m₁, . . . , m_(J) and with variances σ_(k,1) ², . . .             , σ_(k,J) ² determined by θ_(k).

The invention also relates to a device for carrying out this method. This device comprises:

-   -   an output interface for generating said input signal u to the         analog physical system and     -   a digital control unit connected to said output interface and         adapted and structured to carry out the above method.

Finally, the invention also relates to a use of the method or device for at least one of the following applications:

-   -   digital-to-analog conversion by feeding a discrete-valued signal         into an analog low-pass filter,     -   digital-to-analog conversion by feeding a discrete-valued signal         into an analog band-pass filter,     -   controlling an electric motor with at least one discrete-level         input signal,     -   controlling an electric power converter with at least one         discrete-level input signal.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be better understood and objects other than those set forth above will become apparent when consideration is given to the following detailed description thereof. This description makes reference to the annexed drawings, wherein:

FIG. 1 shows the system model with an analog physical system and a control unit, comprising a digital control unit and an output interface.

FIG. 2 shows a third order low-pass filter in Sallen—Key topology.

FIG. 3 shows a numerical example of the DAC of FIGS. 1 and 2 .

FIG. 4 shows the cost function of eq. (22) for a two-level constraint.

FIG. 5 shows the cost, function or eq. (25) for a three-level constraint.

FIG. 6 shows the cost function of eq. (28) for a four-level constraint.

FIG. 7 shows three numerical examples of electric motor control as in Section 7.

FIG. 8 shows a numerical example of box-constrained trajectory planning as in Section 9.

FIG. 9 shows a numerical example of MIMO electric motor control as in Section 10.1.

FIG. 10 shows a diagram illustrating the dynamical system of Section 0.1.0.2.

FIG. 11 shows a numerical example of trajectory planning as in Section 10.2.

MODES FOR CARRYING OUT THE INVENTION

As mentioned, the key idea of the disclosed invention is to represent the M-level constraint by a combination of parameterized Gaussian distributions, as will be detailed in Section 4 below. However, this key idea requires a context of several other (mostly well-known) concepts, as will be explained in Sections 3, 5 and 6. Throughout Sections 3-5, a digital-to-analog converter as in Section 2.1 will be used for illustration. Further examples (i.e., further embodiments of the disclosed invention) will be given in Sections 7 and 10.

1 Notation

We denote the all-zero vector of length N by 0_(N), the all zero matrix of dimension N×M by 0_(N×M), the all-ones vector of length N by 1_(N), the all-ones matrix of dimension N×M by 1_(N×M) and the identity matrix of dimension N×N by I_(N).

Further, the probability density function of a univariate Gaussian distribution in x∈

with mean m∈R and variance σ²∈

is denoted by

$\begin{matrix} {{\mathcal{N}\left( {{s;m},\sigma^{2}} \right)} = {\frac{1}{\sqrt{2{\pi\sigma}^{2}}}{{\exp\left( {- \frac{\left( {x - m} \right)^{2}}{2\sigma^{2}}} \right)}.}}} & (12) \end{matrix}$

The probability density function of a multivariate Gaussian distribution in x∈

^(N) with mean vector m∈

^(N) and covariance matrix V∈

^(N×N) is denoted by

$\begin{matrix} {{\mathcal{N}\left( {{{xz};m},V} \right)} = {\frac{1}{\sqrt{\left( {2\pi} \right)^{N}{❘V❘}}}{{\exp\left( {{- \frac{1}{2}}\left( {x - m} \right)^{T}{V^{- 1}\left( {x - m} \right)}} \right)}.}}} & (13) \end{matrix}$

2 System Overview

As shown in FIG. 1 , the present invention relates to techniques for controlling an analog physical system 1 by means of a device 2. For example, system 1 may be a low-pass or band-pass filter as part of a digital-to-analog converter, an electric motor, or the load in a electric power converter.

System 1 has at least one input signal u that can take on at least M>1 discrete levels and at least one output signal y.

Device 2 comprises an output interface 4 for generating the input signal u. For example, the output interface 4 may be a binary or ternary output port of device 2.

Further, device 2 comprises a control unit 3, such as a microprocessor or FPGA, adapted to carry out the steps of the method described here. Device 2 is adapted to generate the input signal u in such a manner that the output signal y follows a desired trajectory (target trajectory).

2.1 EXAMPLE

As a first example, consider a digital-to-analog converter wherein the analog physical system 1 of FIG. 1 is a simple (i.e., low-cost) analog low-pass filter. The analog filter is exemplified by the circuit in FIG. 2 , which shows a Sallen—Key low-pass filter [13]. The task of the digital control unit 3 and the output interface 4 is to produce a two-level input signal u to the analog filter such that the resulting output waveform y closely approximates any given target waveform y, as illustrated in FIG. 3 . This task is solved by the disclosed invention as will be detailed below. Moreover, in Sections 3 and 5, this example will be used to illustrate the concepts and methods of this disclosure.

3 Analog-System Model

The linear state space model (3) and (4) represents the given analog physical system. Such a state space model can be obtained by well-known methods (including discretization in time and linearization) from an underlying continuous-time state space model. However, the method utilizes an extended system model (5) and (6) which is an extended version of said analog physical system model and may contain additional inputs, states or outputs.

3.1 EXAMPLE

In the example of Section 2.1, we have a single scalar input signal u=(u₁, . . . , u_(K))(i.e., L=1) and a single scalar output y (i.e., H=1). Between ticks t_(k) and t_(k+1) of the digital clock, the continuous-time input voltage is kept at the constant level u_(k) (cf. FIG. 3 ). For the specific circuit of FIG. 2 , we obtain a state space representation of the form (3) and (4) with x_(k)∈

³ as follows.

The numerical example in FIG. 3 is obtained with the following values for the components in FIG. 2 :

R ₁=9.1 kΩ,C ₁=16 μF,  (14)

R ₂=82 kΩ,C ₂=1.3 μF,  (15)

R ₃=36 kΩ,C ₃=2 μF.  (16)

The resulting frequency response is

$\begin{matrix} {\frac{{output}{voltage}}{{input}{voltage}} = {❘\frac{270.535}{\left( {i\omega} \right)^{3} + {16.926\left( {i\omega} \right)^{2}} + {108.16\left( {i\omega} \right)} + 270.535}❘}} & (17) \end{matrix}$

with i=√{square root over (−1)} and frequency f=w/(2π). The corresponding discrete-time model of the analog physical system is given by

$\begin{matrix} {{A_{k} = \begin{bmatrix} 0.83941 & {- 1.006} & {- 2.48427} \\ 0.00918 & 0.99485 & {- 0.01278} \\ 0.00005 & 0.00998 & 0.99996 \end{bmatrix}},} & (18) \end{matrix}$

B_(k)=[0.00918 0.00005 0]^(T), C_(k)=[0 0 270.53523], and D_(k)=[0 0 0]^(T). The state space matrices of the extended system model for this example are trivially given by Ã_(k)=A_(k), {tilde over (B)}_(k)=B_(k), {tilde over (C)}_(k)=C_(k), and {tilde over (D)}_(k)=D_(k).

3.2 Beyond the Example

In the above example, the matrices A_(k), B_(k), C_(k) and D_(k) do not depend on k, but in general, they might. In fact, these matrices may even depend on the iteration step i (e.g., as a consequence of customary linearization techniques). Moreover, in general, the analog physical system may have multiple inputs (L≥1) and/or multiple outputs (H≥1), cf. Section 10.1. Not all input signals need be restricted to discrete levels. In addition, the system model may also be driven by stochastic noise, hence the term D_(k)e_(k) in (3).

4 M-level Priors

For ease of exposition, we assume here a single scalar input signal (i.e., L=1).

4.1 Two-Level Prior

Restricting the analog-system input signal u to two levels {a, b} can be achieved with

S=1  (19)

in (1), i.e., L=1 and u=ũ, and with p_(k)(ũ_(k), θ_(k)) and θ_(k) in (10) as

p _(k)(u _(k),θ_(k))=

(ũ _(k) ;a,σ _(k,1) ²)

(ũ _(k) ;b,σ _(k,2) ²)  (20)

and θ_(k)=(σ_(k,1) ², σ_(k,2) ²) For fixed θ_(k), the function (20) is a product of two Gaussian probability density functions, which is again a Gaussian probability density function, up to a scale factor.

The function

$\begin{matrix} {\max\limits_{\theta_{k}}{\rho_{k}\left( {{\overset{\sim}{u}}_{k},\theta_{k}} \right)}} & (21) \end{matrix}$

can be viewed as a prior on u_(k) (=ũ_(k)) that strongly encourages u_(k) to lie in {a, b}, as is obvious from FIG. 4 , which shows the function

$\begin{matrix} {{{cost}\left( u_{k} \right)} = {{- \log}\max\limits_{\theta_{k}}{{\rho_{k}\left( {u_{k},\theta_{k}} \right)}.}}} & (22) \end{matrix}$

4.2 Three-Level Prior

Restricting the analog-system input signal u to three levels {b, 0, −b} can be achieved with

S=[1 1]  (23)

i.e., L=2 and u_(k)=u_(k,2), and with p_(k)(ũ_(k), θ_(k))=p_(k)(ũ_(k,1), ũ_(k,2), θ_(k)) in (10) as

p _(k)(ũ _(k,1) ,ũ _(k,2),θ_(k))=

(ũ _(k,1);0,σ_(k,1,1) ²)

(ũ _(k,1) ;b,σ _(k,1,2) ²)

(ũ _(k,2) ;−b,σ _(k,2,2) ²)  (24)

with θ_(k)=(σ_(k,1,1) ², σ_(k,1,2) ², σ_(k,2,1) ², σ_(k,2,2) ²). Again, for fixed θ_(k), the function (24) is a Gaussian probability density function, up to a scale factor.

In this case, the function (21) can be viewed as a prior on ũ_(k) that strongly encourages u_(k)=Sũ_(k) to lie in {b, 0, −b}, as is obvious from FIG. 5 , which shows the function

$\begin{matrix} {{{cost}\left( u_{k} \right)} = {{- \log}\max\limits_{{{\overset{\sim}{u}}_{k}:S{\overset{\sim}{u}}_{k}} = u_{k}}\max\limits_{\theta_{k}}{{\rho_{k}\left( {u_{k},\theta_{k}} \right)}.}}} & (25) \end{matrix}$

The three-level prior is a combination of two two-level priors whereas S acts as a mapping between the two-level components of a and the three-level component of u.

4.3 Four-Level Prior

Restricting the analog-system input signal u to four levels {0, 2b, 3b} can be achieved with

S=[1 1 1],  (26)

i.e., {tilde over (L)}=3 and ũ_(k)=ũ_(k,1)+ũ_(k,2)+ũ_(k,3), and with p_(k)(ũ_(k), θ_(k))=p_(k)(ũ_(k,1), ũ_(k,2), ũ_(k,3), θ_(k)) in (10) as

p _(k)(ũ _(k,1) ,ũ _(k,2) ,ũ _(k,3),θ_(k))=

(ũ _(k,1);0,σ_(k,1,1) ²)

(u _(k,1) ;b,σ _(k,1,2) ²)·

(ũ _(k,2);0,σ_(k,2,1) ²)

(ũ _(k,2) ;b,σ _(k,2,2) ²)·

(ũ _(k,3);0,σ_(k,3,1) ²)

(ũ _(k,3) ;b,σ _(k,3,2) ²)  (27)

with θ_(k)=(σ_(k,1,1) ², σ_(k,1,2) ², σ_(k,2,1) ², σ_(k,2,2) ², σ_(k,3,1) ², σ_(k,3,2) ²), Again, for fixed θ_(k), the function (27) is a Gaussian probability density function, up to a scale factor.

In this case, the function (21) can be viewed as a prior on ũ_(k) that strongly encourages u_(k)=Sũ_(k) to lie in {0, b, 2b, 3b)}, as is obvious from FIG. 6 , which shows the function

$\begin{matrix} {{{cost}\left( u_{k} \right)} = {{- \log}\max\limits_{{{\overset{\sim}{u}}_{l}:S{\overset{\sim}{u}}_{k}} = u_{k}}\max\limits_{\theta_{k}}{{\rho_{k}\left( {{\overset{\sim}{u}}_{k},\theta_{k}} \right)}.}}} & (28) \end{matrix}$

4.4 M-Levels

M-level priors with M>3 can be achieved, in more than one way, by generalizations of (23) and (24) with

$\begin{matrix} {{\rho_{k}\left( {{\overset{\sim}{u}}_{k,1},\ldots,{\overset{\sim}{u}}_{k,\overset{\sim}{L}},\theta_{k}} \right)} = {\prod\limits_{\overset{\sim}{\ell} = 1}^{\overset{\sim}{L}}{\prod\limits_{j = 1}^{J_{\overset{\sim}{\ell}}}{\mathcal{N}\left( {{{\overset{\sim}{u}}_{k,\overset{\sim}{\ell}};m_{\overset{\sim}{\ell},j}},\sigma_{k,\overset{\sim}{\ell},j}^{2}} \right)}}}} & (29) \end{matrix}$

with fixed means

and with θ_(k) comprising the variances

. Advantageously, the components ũ_(k,l) are restricted to two levels and S is an all-ones vector.

5 Extended System Model and Algorithms

The analog physical system is modeled by a discrete-time linear state space model with state recursions (3) and output relation (4) where the matrices A_(k), B_(k), C_(k) and D_(k) are obtained using well-known methods. Said model consists of L input signal components, N states and H output signal components where at least one input signal component is discrete-valued. One may use D_(k) and e_(k), to model any present system noise. For the sake of simplicity, said system noise is omitted in the given examples of Sections 5, 7 and 10.

The disclosed method, however, utilizes an extended system model (5) and (6) which is an extended version of said analog physical system model and may contain additional inputs, states or outputs. In the example of Section 2.1, the extended system model is trivially given by the analog physical model since no additional inputs signal components, states or output signal components are needed. Beyond this example, additional inputs signal components may be used to model discrete-valued inputs for M>2, as shown in Section 4. Additional states and output signal components may be introduced, for example, to map input level differences to additional output signal components, as detailed in Section 7.

The extended system model comprises, besides (5) and (6), also the function (7), the prior p(ũ, θ), the initial state distribution p({tilde over (x)}₀), and the noise distribution p({tilde over (e)}) and is summarized in (2).

5.1 Harnessing Linear Gaussian Estimation

For fixed parameters θ (and ξ, if applicable), the extended system model (2) is a customary linear-Gaussian model. In particular, the posterior distributions p(ũ|ẙ, θ, ξ) and p({tilde over (y)}|ẙ, θ, ξ) are both jointly Gaussian, and the MAP (maximum a posteriori) estimates of ũ and {tilde over (y)} coincide with their MMSE (mini-mum mean-squared error) estimates. Moreover, the estimate of u=(ũ₁, . . . , ũ_(K)) with ũ_(k)=(ũ_(k,1), . . . , ũ_(k,L)), the estimate of {tilde over (y)}=({tilde over (y)}₁, . . . , {tilde over (y)}_(K)) with {tilde over (y)}_(k)({tilde over (y)}_(k,1), . . . , {tilde over (y)}_(k,{tilde over (H)})) and the corresponding sequence of posterior variances V_(Ũ)=(V_(Ũ) ₁ , . . . , V_(Ũ) _(K) ) with V_(c)=(V_(Ũ) _(k,1) , . . . , V_(Ũ) _(k,L) ), and V_({tilde over (Y)})(V_({tilde over (Y)}) ₁ , . . . , V_({tilde over (Y)}) _(K) ) with V_({tilde over (Y)}) _(k) =(V_({tilde over (Y)}) _(k,1) , . . . , V_({tilde over (Y)}) _(k,{tilde over (H)}) ) can be computed by well-known recursive algorithms (variations of Kalman filter algorithms) with complexity linear in K. A preferred such algorithm is the MBF algorithm aug-mented with input signal estimation as described in Section V of [14]. Alternatively, the estimates of ũ and {tilde over (y)} (but not their variances) can be computed by steepest-descent or other customary optimization algorithms.

Accordingly, the input signal it can be computed by alternating, in iterations i=1, 2, 3, . . . , the steps of

-   -   (a) computing the estimates ũ^((i))=(ũ₁ ^((i)), . . . , ũ_(K)         ^((i))) and {tilde over (y)}^((i))=({tilde over (y)}₁ ^((i)), .         . . , {tilde over (y)}_(K) ^((i))) and optionally the precision         information V_(Ũ) ^((i))=(V_(Ũ) ₁ ^((i)), . . . , V_(Ũ) _(K)         ^((i))) and V_({tilde over (Y)}) ^((i))=(V_({tilde over (Y)}) ₁         ^((i)), . . . , V_({tilde over (Y)}) _(K) ^((i))) for fixed         parameters θ=θ^((i−1)) and ξ=ξ^((i−1)), and     -   (b) determining new parameters θ^((i)) based on ũ^((i)) (and         perhaps V_(Ũ) ^((i))) and new parameters ξ^((i)) based on {tilde         over (y)}^((i)) (and perhaps V_({tilde over (Y)}) ^((i))), as         computed in Step (a).

The following two Sections describe two ways to determine new parameters θ. Specific ways to determine the optional parameters C are given in Sections 7 and 8.

5.2 Determining the Variances by Alternating Maximization

One possibility for Step (b) above is to determine the new parameters by

$\begin{matrix} {\theta^{(i)} = {\underset{\theta}{argmax}{p\left( {{\overset{\sim}{u}}^{(i)},{\overset{\circ}{y}❘\theta},\zeta^{({i - 1})}} \right)}}} & (30) \\ {{= {\underset{\theta}{argmax}{\rho\left( {{\overset{\sim}{u}}^{(i)},\theta} \right)}}},} & (31) \end{matrix}$

which splits into

$\begin{matrix} {\theta_{k}^{(i)} = {\underset{\theta_{k}}{argmax}{\rho_{k}\left( {{\overset{\sim}{u}}_{k}^{(i)},\theta_{k}} \right)}}} & (32) \end{matrix}$

for k∈{1, . . . , K}, which can be expressed in closed form: for p_(k)(ũ_(k,1), . . . , ũ_(k,{tilde over (L)}), θ_(k)) as in (29), we obtain

(

)^((i))=(

−

)²  (33)

Using (32) amounts to effectively using the prior (21). The posterior variances (Y_(Ũ) ₁ , . . . , V_(Ũ) _(K) ) are not required.

5.3 Determining the Variances by Expectation Maximization

Another possibility for Step (b) is to determine the new parameters by expectation maximization as follows:

$\begin{matrix} {{\theta^{(i)} = {\underset{\theta}{argmax}{E\left\lbrack {\log{p\left( {\overset{\sim}{U},{\overset{\circ}{y}❘\theta},\zeta^{({i - 1})}} \right)}} \right\rbrack}}},} & (34) \end{matrix}$

where the expectation is with respect to p(ũ|ẙ, θ^((i−1)), ξ^((i−1))). But (34) simplifies to

$\begin{matrix} {{\theta_{k}^{(i)} = {\underset{\theta_{k}}{argmax}{E\left\lbrack {\log{\rho_{k}\left( {{\overset{\sim}{U}}_{k},\theta_{k}} \right)}} \right\rbrack}}},} & (35) \end{matrix}$

for k∈{1, . . . , K}, where the expectation is with respect to p(ũ_(k)|{tilde over (y)}, θ^((i−1)), ξ^((i−1))). For p_(k)(ũ_(k,1), . . . , ũ_(k,{tilde over (L)}), θ_(k)) as in (29), we obtain

$\begin{matrix} {\left( \sigma_{k,\overset{\sim}{\ell},j}^{2} \right)^{(i)} = {E\left\lbrack \left( {{\overset{\sim}{U}}_{k,\overset{\sim}{\ell}} - m_{\overset{\sim}{\ell},j}} \right)^{2} \right\rbrack}} & (36) \\ {= {V_{{\overset{\sim}{U}}_{k,\overset{\sim}{\ell}}}^{(i)} + \left( {\overset{\sim}{u}}_{k,\overset{\sim}{\ell}}^{(i)} \right)^{2} - {2m_{\overset{\sim}{\ell},j}{\overset{\sim}{u}}_{k,\overset{\sim}{\ell}}^{(i)}} + {m_{\overset{\sim}{\ell},j}^{2}.}}} & (37) \end{matrix}$

EXAMPLE

In the example of Section 2.1, the function (7) can be written as

$\begin{matrix} {{p\left( {{\overset{\circ}{y}❘\overset{\sim}{u}},{\overset{\sim}{x}}_{0},\overset{\sim}{e},\zeta} \right)} \propto {\exp\left( {{- \frac{1}{2}}{\sum\limits_{k = 1}^{K}{w\left( {{\overset{\circ}{y}}_{k} - {\overset{\sim}{y}}_{k}} \right)}^{2}}} \right)}} & (38) \end{matrix}$

with weight w>0, ẙ=y̆ and with p(u, θ) as in (10) and (20) with a=0 and b=1. From (20), we have θ_(k)=(σ_(k,1) ², σ_(k,2) ²). Determining θ^((i)) by (32) results in

σ_(k,1) ^((i))=(ũ _(k) ^((i)))²  (39)

and

σ_(k,2) ^((i))=(ũ _(k) ^((i)) −b)².  (40)

Determining θ^((i)) by (35) results in

σ_(k,1) ^((i)) =V _(U) _(k) ^((i))+(ũ _(k) ^((i)))²  (41)

and

σ_(k,2) ^((i)) =Y _(U) _(k) ^((i))+(ũ _(k) ^((i)))²−2bũ _(k) ^((i)) +b ²  (42)

The numerical example in FIG. 3 is obtained with (41) and (42), p({tilde over (x)}₀)=

({tilde over (x)}₀; 0, 0.01), {tilde over (e)}_(k)=0, and with w=25. Larger values of u, in (38) will yield better approximations of the target y̆. However, if a is too large, the computed input signal u may fail to comply with the two-level constraint.

6 Online Operation and Feedback Control 6.1 Online Operation

In many applications, the disclosed method will be used in an online mode as follows. In a first planning period (with planning horizon K), the disclosed method is used to determine an input signal (u₁, . . . , u_(K)). However, only an initial segment (u₁, . . . , u_(r)) with 0<r<K is actually fed into said analog physical system. In a second planning period, the disclosed method is used to determine an input signal (u_(r+1), . . . , u_(r+K)), but only (u_(r+i), . . . , u_(2r)) is actually fed into said analog physical system. An so on: in the n-th planning period, the disclosed method is used to determine an input signal (u_((n−1)r+1), . . . , u_((n−1)r+K)), of which only (u_((n−1)r+1), . . . , u_(nr)) is actually fed into said analog physical system.

6.2 Feedback Control

In the online mode of Section 6.1, measurements or additional output signals of said analog physical system, if available, can be used to improve p({tilde over (x)}₀) (i.e., the estimate of the initial state {tilde over (x)}₀), for each planning period (as described in Section 5.1, Step (a)) by customary state-tracking methods.

7 Sparse Switching Between Discrete Levels

In many applications, switching the input signal between the allowed discrete levels is costly (e.g., because of thermal losses) and should be done as infrequently as possible.

The disclosed method can handle such situations by an extended system model as follows. For ease of exposition, we will assume a single scalar input signal (i.e., L=1) and a single scalar output (i.e., H=1). First, a state space model representation (with A_(k), B_(k), C_(k) and D_(k)) of the analog physical system is derived. Then, the state space is extended by two states yielding the state space matrices of the extended system model

$\begin{matrix} {{{\overset{\sim}{A}}_{k} = \begin{bmatrix} 0 & & 0 & \\  & & & 0_{2 \times N} \\ 1 & & 0 & \\  & 0_{N \times 2} & & A_{k} \end{bmatrix}},{{\overset{\sim}{B}}_{k} = \begin{bmatrix} 1 \\ 0 \\ B_{k} \end{bmatrix}},} & (43) \\ {{{\overset{\sim}{C}}_{k} = \begin{bmatrix} 1 & & {- 1} & 0_{N} \\  & 0_{2} & & C_{k} \end{bmatrix}},{{\overset{\sim}{D}}_{k} = \begin{bmatrix} 0_{G} \\ 0_{G} \\ D_{k} \end{bmatrix}}} & (44) \end{matrix}$

derived from A_(k). B_(k), C_(A). and D_(k), with ũ_(k)=u_(k), {tilde over (e)}_(k)=e_(k), and {tilde over (y)}_(k)=(U_(k)−u_(k−1), y_(k)) for k∈{1, . . . , K}. By choosing C_(k) as above, the level differences u_(k)−u_(k−1) appear as an additional signal component {tilde over (y)}_(k,1) in the extended system model output signal {tilde over (y)}.

A quadratic penalty on the level differences can be achieved by setting nonzero weights in W_(k) of the function (7) for the particular output signal component Penalties of other forms can be achieved using the optional factors ψ_(k)({tilde over (y)}_(k). ξ_(k)) in (8). Said factors ψ_(k)({tilde over (y)}_(k), ξ_(k)) are proportional to Gaussian probability densities for fixed ξ_(k). However, their variances may be unknown and determined in every iteration step. By choosing suitable factors ψ_(k)({tilde over (y)}_(k), ξ_(k)), the penalty function

$\begin{matrix} {{{cost}\left( {\overset{\sim}{y}}_{k,1} \right)} = {{- \log}\max\limits_{\zeta_{k}}{\psi_{k}\left( {{\overset{\sim}{y}}_{k,1},\zeta_{k}} \right)}}} & (45) \end{matrix}$

can advantageously represent the absolute value function |u_(k)−u_(k−1)| the Huber function, or convex-concave functions as described in [12].

Example: Electric Motor Control

For a concrete example, consider a simple model of an electric motor as follows. The model has a scalar input a (the control voltage applied to the motor coil) and a scalar output y (the motor coil current) where the input is assumed to be a discrete-valued signal. Given a desired motor coil current y̆ (target trajectory), the goal is to determine a discrete-valued (three level) control voltage a such that the resulting motor coil current approximates the desired motor coil current. The motor coil is assumed to be an ideal inductor modeled by a first order integrator. The discrete-time model of the analog physical system is given by

A _(k)=1,B _(k)1/α,C _(k)=1,D _(k)=0  (46)

for k∈{1, . . . , K} and where a is the inductance of the motor coil. The extended state space matrices (43) and (44) are

$\begin{matrix} {{{\overset{\sim}{A}}_{k} = \begin{bmatrix} 0 & 0 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{bmatrix}},{{\overset{\sim}{B}}_{k} = \begin{bmatrix} 1 \\ 0 \\ {1/\alpha} \end{bmatrix}},} & (47) \\ {{{\overset{\sim}{C}}_{k} = \begin{bmatrix} 1 & {- 1} & 0 \\ 0 & 0 & 1 \end{bmatrix}},{{\overset{\sim}{D}}_{k} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix}},} & (48) \end{matrix}$

for k∈{1, . . . , K}. The priors p_(k)(ũ_(k), θ_(k)) are chosen according to the three-level prior described in Section 4.2 with b=1 and S=[1 1], strongly encouraging the input signal to lie in {−1, 0,1}. n The first component of the extended system model target trajectory ẙ is given by (ẙ_(1,1), . . . , ẙ_(K,1))=(0, . . . , 0), and the second component by (ẙ_(1,2), . . . , ẙ_(K,2))=y̆. The function (7) becomes

$\begin{matrix} {{p\left( {{\overset{\circ}{y}❘\overset{\sim}{u}},{\overset{\sim}{x}}_{0},\overset{\sim}{e},\zeta} \right)} \propto {\exp\left( {{- \frac{1}{2}}{\sum\limits_{k = 1}^{K}{\left( {{\overset{\circ}{y}}_{k} - {\overset{\sim}{y}}_{k}} \right)^{T}{W_{k}\left( {{\overset{\circ}{y}}_{k} - {\overset{\sim}{y}}_{k}} \right)}}}} \right)}} & (49) \end{matrix}$

with diagonal weight matrix W_(k)=diag (w₁, w₂), where w₁>0 and w₂>0 are real weights. This results in a quadratic penalty on the level differences with weight w₁ and a quadratic penalty on the approximation error with weight w₂.

The numerical results of FIG. 7 are obtained with p({tilde over (x)}₀)=

({tilde over (x)}₀; 0₃, 0.01·I₃), {tilde over (e)}_(k)=0, α=10 and K=150, and with (41) and (42). The experiment was executed three times with different weights w₁ and w₂.

The desired target motor coil current y̆ is shown in the first plot as dashed line together with the resulting motor coil current y as solid line. The plots below show the determined input signal a as solid line. Three different trade-offs between switching effort and approximation error are shown from top to bottom.

Top: A large w₁ leads to few level switches and a small w₂ allows large approximation error. Middle: A Medium w₁ and w₂ leads to more level switches but a fairly good approximation of y̆. Bottom: A. small w₁ and a large w₂ leads to many level switches and a precise approximation of y̆.

8 Beyond Quadratic Fitting Cost

For ease of exposition, an extended system model with scalar inputs and outputs (i.e., {tilde over (L)}=L={tilde over (H)}=H=1) is assumed for this section.

If the optional factor ψ({tilde over (y)}, ξ)=1, the function (7) results in a standard 2-norm penalty on the deviation between the extended system model target trajectory and extended system model output signal j. However, the disclosed method can handle other p-norms with p≥1, p≠2 (and essentially also quasi-norms with 0<p<1) by utilizing the optional factor ψ({tilde over (y)}, ξ) and updating ξ in every iteration step. The function (7) can be written as

$\begin{matrix} {{p\left( {{\overset{\circ}{y}❘\overset{\sim}{u}},{\overset{\sim}{x}}_{0},\overset{\sim}{e},\zeta} \right)} \propto {{\exp\left( {{- \frac{1}{2}}{\sum\limits_{k = 1}^{K}{w_{k}\left( {{\overset{\circ}{y}}_{k} - {\overset{\sim}{y}}_{k}} \right)}^{2}}} \right)}{\psi\left( {\overset{\sim}{y},\zeta} \right)}}} & (50) \end{matrix}$

with scalar weight W_(k). Choosing

$\begin{matrix} {{\psi_{k}\left( {{\overset{\sim}{y}}_{k},\zeta_{k}} \right)} = {\sqrt{\frac{2\pi}{w_{k}}}{\exp\left( \frac{{- {\beta_{k}^{2}\left( {2 - p} \right)}}\left( w_{k} \right)^{\frac{- p}{2 - p}}}{2p} \right)}}} & (51) \end{matrix}$

yields

$\begin{matrix} {{p\left( {{\overset{\circ}{y}❘\overset{\sim}{u}},{\overset{\sim}{x}}_{0},\overset{\sim}{e},\zeta} \right)} \propto {{\exp\left( {{- \frac{1}{2}}{\sum\limits_{k = 1}^{K}{w_{k}\left( {{\overset{\circ}{y}}_{k} - {\overset{\sim}{y}}_{k}} \right)}^{2}}} \right)}{\exp\left( \frac{{- {\beta_{k}^{2}\left( {2 - p} \right)}}\left( w_{k} \right)^{\frac{- p}{2 - p}}}{2p} \right)}}} & (52) \end{matrix}$

where the weights w_(k) are determined by ξ_(k) and β_(k) is a constant scale factor depending on the initial weight w_(k), and is defined by

$\begin{matrix} {\beta_{k} = {\left( \frac{{p\omega}_{k}}{2} \right)^{\frac{1}{2 - p}}.}} & (53) \end{matrix}$

The optional parameters are determined in every iteration I by

$\begin{matrix} {\zeta_{k}^{(i)} = {\omega_{k}^{(i)} = {❘\frac{{\overset{\circ}{\mathcal{y}}}_{k} - {\overset{\sim}{\mathcal{y}}}_{k}^{(i)}}{\beta_{k}}❘}^{p - 2}}} & (54) \end{matrix}$

for k∈{1, . . . . K}.

As denoted above, β_(k) is a constant scale factor, precalculated before the first iteration and not updated during the iterations.

The utilization of the optional factor ψ({tilde over (y)}, ξ) results in the following cost term

$\begin{matrix} {{{cost}\left( {\overset{\circ}{\mathcal{y}} - \overset{\sim}{\mathcal{y}}} \right)} = {{- \log}\max\limits_{\zeta}{p\left( {\left. \overset{\circ}{\mathcal{y}} \middle| \overset{\sim}{u} \right.,{\overset{\sim}{x}}_{0},\overset{\sim}{e},\zeta} \right)}}} & (55) \\ {= {\frac{1}{2}{\sum\limits_{k = 1}^{K}{\omega_{k}{{❘{{\overset{\circ}{\mathcal{y}}}_{k} - {\overset{\sim}{\mathcal{y}}}_{k}}❘}^{p}.}}}}} & (56) \end{matrix}$

Example: Absolute-Value Penalty

An absolute value penalty (i.e., p=1) is achieved by choosing

$\begin{matrix} {{\psi\left( {{\overset{\sim}{\mathcal{y}}}_{k},\zeta_{k}} \right)} = {\sqrt{\frac{2\pi}{\omega_{k}}}{\exp\left( \frac{- \beta_{k}^{2}}{2\omega_{k}} \right)}}} & (57) \end{matrix}$

with ξ_(k)=w_(k) an β_(k)=w_(k)/2.

9 Soft Box Constraint

For ease of exposition, an extended system model with scalar inputs and outputs (i.e., {tilde over (L)}=L={tilde over (H)}=H=1) is assumed for this section.

If the optional factor ψ({tilde over (y)}, ξ)=1, the function (7) results in a standard 2-norm penalty on the deviation between the extended system model target trajectory ẙ and extended system model output signal {tilde over (y)}. However, the disclosed method may also be used to enforce {tilde over (y)} to lie within fixed bounds by utilizing the optional factor ψ({tilde over (y)}, ξ) and updating ξ in every iteration step. Specifically, the method may be used to enforce

ẙ _(k) ≤{tilde over (y)} _(k) ≤ẙ _(k)+η_(k) ,k∈{1, . . . ,K},  (58)

where ẙ_(k) and ẙ_(k), +η_(k) set the lower and upper bounds of the box constraint at time k, respectively. The function (7) can be written as

$\begin{matrix} {{p\left( {\left. \overset{\circ}{\mathcal{y}} \middle| \overset{\sim}{u} \right.,{\overset{\sim}{x}}_{0},\overset{\sim}{e},\zeta} \right)} \propto {{\exp\left( {{- \frac{1}{2}}{\sum\limits_{k = 1}^{K}{\omega_{k}\left( {{\overset{\circ}{\mathcal{y}}}_{k} - {\overset{\sim}{\mathcal{y}}}_{k}} \right)}^{2}}} \right)}{\psi\left( {\overset{\sim}{\mathcal{y}},\zeta} \right)}}} & (59) \end{matrix}$

with scalar weight w_(k). In order to achieve (58), we choose

$\begin{matrix} {{\psi_{k}\left( {{\overset{\sim}{\mathcal{y}}}_{k},\zeta_{k}} \right)} = {\sqrt{\frac{2\pi}{\omega_{k}}}{\exp\left( {- \frac{\gamma^{2}}{2\omega_{k}}} \right)}{\exp\left( {{- \frac{1}{2}}{\omega_{k}^{\prime}\left( {{\overset{\circ}{\mathcal{y}}}_{k} + \eta_{k} - {\overset{\sim}{\mathcal{y}}}_{k}} \right)}^{2}} \right)}{\exp\left( {- \frac{\gamma^{2}}{2\omega_{k}^{\prime}}} \right)}}} & (60) \end{matrix}$

with auxiliary weight w_(k) ^(′) yielding

$\begin{matrix} {{{p\left( {\left. \overset{\circ}{\mathcal{y}} \middle| \overset{\sim}{u} \right.,{\overset{\sim}{x}}_{0},\overset{\sim}{e},\zeta} \right)} \propto {{\exp\left( {{- \frac{1}{2}}{\sum\limits_{k = 1}^{K}{\omega_{k}\left( {{\overset{\circ}{\mathcal{y}}}_{k} - {\overset{\sim}{\mathcal{y}}}_{k}} \right)}^{2}}} \right)}{{\exp\left( {{- \frac{1}{2}}{\sum\limits_{k = 1}^{K}{\omega_{k}^{\prime}\left( {{\overset{\circ}{\mathcal{y}}}_{k} + \eta_{k} - {\overset{\sim}{\mathcal{y}}}_{k}} \right)^{2}}}} \right)} \cdot {\exp\left( {{- \frac{1}{2}}{\sum\limits_{k = 1}^{K}\frac{\gamma^{2}}{2\omega_{k}}}} \right)}}{\exp\left( {{- \frac{1}{2}}{\sum\limits_{k = 1}^{K}\frac{\gamma^{2}}{2\omega_{k}^{\prime}}}} \right)}}},} & (61) \end{matrix}$

where the weights w_(k) and w_(k) ^(′), are determined by ξ_(k) and where γ is a constant scale factor.

The optional parameters are determined in every iteration i by

$\begin{matrix} {\zeta_{k}^{(i)} = {\left( {\omega_{k}^{(i)},\omega_{k}^{\prime(i)}} \right) = \left( {{❘\frac{\gamma}{{\overset{\circ}{\mathcal{y}}}_{k} - {\overset{\sim}{\mathcal{y}}}_{k}^{(i)}}❘},{❘\frac{\gamma}{{\overset{\circ}{\mathcal{y}}}_{k} + \eta_{k} - {\overset{\sim}{\mathcal{y}}}_{k}^{(i)}}❘}} \right)}} & (62) \end{matrix}$

for k∈{1, . . . , K}.

The utilization of the optional factor ψ({tilde over (y)}, ξ) results in the following cost term for (59)

$\begin{matrix} {{{cost}\left( \overset{\sim}{\mathcal{y}} \right)} = {{- \log}\max\limits_{\zeta}{p\left( {\left. \overset{\circ}{\mathcal{y}} \middle| \overset{\sim}{u} \right.,{\overset{\sim}{x}}_{0},\overset{\sim}{e},\zeta} \right)}}} & (63) \\ {{= {{\gamma{\sum\limits_{k = 1}^{K}{❘{{\overset{\circ}{\mathcal{y}}}_{k} - {\overset{\sim}{\mathcal{y}}}_{k}}❘}}} + {❘{{\overset{\circ}{\mathcal{y}}}_{k} + \eta_{k} - {\overset{\sim}{\mathcal{y}}}_{k}}❘}}},} & (64) \end{matrix}$

where (64) is constant for {tilde over (y)}_(k) in the interval [ẙ_(k), ẙ_(k)+η_(k)], and rises with slope 2γ outside of [ẙ_(k), ẙ_(k)+η_(k)].

The constraint (58) may be applied to any output of the extended system model, i.e., to any linear function of the state {tilde over (x)}_(k) (including also inputs).

Example: Steering Object Through Tunnel

For a concrete example, consider a control problem wherein the analog physical system is a third order integrator chain. The task is to determine a discrete-valued (seven level) control input u to the analog physical system such that the resulting output trajectory y lies between y̆ and y̆+η, with η=(η₁, . . . , η_(K))∈

^(K).

The discrete-time model of the analog physical system is given by

$\begin{matrix} {{A_{k} = \begin{bmatrix} 1 & 0 & 0 \\ 1 & 1 & 0 \\ {1/2} & 1 & 1 \end{bmatrix}},{B_{k} = {0.0015 \cdot \begin{bmatrix} 1 \\ {1/2} \\ {1/6} \end{bmatrix}}},} & (65) \end{matrix}$ $\begin{matrix} {{C_{k} = \begin{bmatrix} 0 & 0 & 1 \end{bmatrix}},{D_{k} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix}},} & (66) \end{matrix}$

for k∈{1, . . . , K}. The state space matrices of the extended system model are trivially given by Ã_(k)=A_(k), {tilde over (B)}_(k)=B_(k), {tilde over (C)}_(k)=C_(k) and {tilde over (D)}_(k)=D_(k), and thus {tilde over (y)}=y and ẙ=y̆.

The priors p_(k)(ũ_(k), θ_(k)) are chosen according to the M-level prior described in Section 4.4 with {tilde over (L)}=6,

=2, for all

∈{1, . . . , L}, (m_(1,1), m_(1,2), . . . , m_(6,2))=(0, 1, 0, 1, 0, 1, 0, −1, 0, −1, 0, −1), and S=[1 1 1 1 1 1], strongly encouraging the input signal to lie in {−3, −2, −1, 0, 1, 2, 3}.

The numerical results of FIG. 8 are obtained with p({tilde over (x)}₀)=

({tilde over (x)}₀; 0₃, 0.01·I₃), {tilde over (e)}_(k)=0, γ=20 and K=300, and with (41), (42) and (62).

The desired bounds y̆ and y̆+η are shown in the first plot as dashed line together with the resulting output trajectory y as solid line. The plot below shows the determined discrete-value control signal u as solid line.

10 Further Examples

In the following sections, we describe further embodiments of the invention.

10.1 Multiple Discrete Inputs and Multiple Outputs

In the previous examples, the analog physical system had a single input (i.e., L=1) and a single output (H=1). However, the disclosed method can handle multiple inputs and outputs.

Example: MIMO Motor Control

This example generalizes the example of Section 7 to multiple inputs and outputs. Specifically, the motor in this example is composed of three motor coils which are controlled independently. As a consequence, L=3 and H=3. The input signal u of the analog physical system consists of three components (u_(1,1), . . . , u_(K,1)), (u_(1.2), . . . , u_(K,2)) and (u_(1,3), . . . , u_(K,3)) describing the discrete-valued control voltages for the three motor coils. Analogously, the model output y contains three signal components describing the three motor coil currents as well as the target trajectory Y contains three signal components, describing the three desired motor coil currents.

The three motor coils of the analog physical system are modeled by three first-order integrators, yielding the following state space representation

$\begin{matrix} {{A_{k} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}},} & (67) \end{matrix}$ ${B_{k} = {1/{\alpha\begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}}}},$ ${C_{k} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}},$ $D_{k} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix}$

with inductance a for k∈{1, . . . , K}.

The states of the system are fully decoupled. Coupling between the states could easily be incorporated by populating the non-diagonal entries of A_(k). The state space matrices of the extended system model are trivially given by Ã_(k)=A_(k), {tilde over (B)}_(k)=B_(k), {tilde over (C)}_(k)=C_(k) and {tilde over (D)}_(k)=D_(k).

The prior p_(k)(u_(k), θ_(A)) is a product of multiple three-level priors, i.e.,

$\begin{matrix} {{\rho_{k}\left( {{\overset{\sim}{u}}_{k},\theta_{k}} \right)} = {\rho_{k}\left( {{\overset{\sim}{u}}_{k,1},{\overset{\sim}{u}}_{k,2},{\overset{\sim}{u}}_{k,3},{\overset{\sim}{u}}_{k,4},{\overset{\sim}{u}}_{k,5},{\overset{\sim}{u}}_{k,6},\theta_{k}} \right)}} & (68) \\ {= {{\rho_{k,1}\left( {{\overset{\sim}{u}}_{k,1},{\overset{\sim}{u}}_{k,2},\theta_{k,1}} \right)}{\rho_{k,2}\left( {{\overset{\sim}{u}}_{k,3},{\overset{\sim}{u}}_{k,4},\theta_{k,2}} \right)}{\rho_{k,3}\left( {{\overset{\sim}{u}}_{k,5},{\overset{\sim}{u}}_{k,6},\theta_{k,3}} \right)}}} & (69) \end{matrix}$

with θ_(k)=(θ_(k,1), θ_(k,2), θ_(k,3)), and where each factor in (69) is chosen according to the three-level prior described in Section 4.2 with b=1. The parameter θ_(k) comprises all variances of (24). The matrix S is chosen to be

$\begin{matrix} {S = \begin{bmatrix} 1 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 1 \end{bmatrix}} & (70) \end{matrix}$

with L=6 yielding

u _(k,1) =ũ _(k,1) +ũ _(k,2)  (71)

u _(k,2) =ũ _(k,3) +ũ _(k,4)  (72)

u _(k,3) =ũ _(k,5) +ũ _(k,6)  (73)

The function (7) amounts to

$\begin{matrix} {{p\left( {\left. \overset{\circ}{\mathcal{y}} \middle| \overset{\sim}{u} \right.,{\overset{\sim}{x}}_{0},\overset{\sim}{e},\zeta} \right)} \propto {\exp\left( {{- \frac{1}{2}}{\sum\limits_{k = 1}^{K}{\left( {{\overset{\circ}{\mathcal{y}}}_{k} - {\overset{\sim}{\mathcal{y}}}_{k}} \right)^{\top}{W_{k}\left( {{\overset{\circ}{\mathcal{y}}}_{k} - {\overset{\sim}{\mathcal{y}}}_{k}} \right)}}}} \right)}} & (74) \end{matrix}$

with weight matrix W_(k)=wI₃ and ẙ=y̆.

The numerical results of FIG. 9 are obtained with p({tilde over (x)}₀)=

({tilde over (x)}₀; 0₃, 0.01·I₃), {tilde over (e)}_(k), =0, w=5, α=5 and K=200, and with (41) and (42). The desired motor coil currents y̆ are shown in the first plot together with the resulting motor coil currents y as solid line. The plots below show the determined input signals components of it. as solid lines.

10.2 Trajectory Planning with Sparse Checkpoints

In the previous examples, the weight matrix W_(k) in (7) did not depend on the time index k. However, time-dependent weights can be useful. For example, consider a situation where the target trajectory y̆ consists of sparse checkpoints at times k₁, k₂, . . . ⊂{1, . . . , K}, with no constraints between these checkpoints. This situation can be handled by choosing W_(k)=0_({tilde over (H)}×{tilde over (H)}) for k∉{k₁, k₂, . . . }.

Example: Flappy Bird

In this example, the analog physical system consists of a point of mass m moving on a xy-plane, as depicted in FIG. 10 . The horizontal velocity v_(x) is constant and not of particular interest (and not part of the system model). The vertical velocity v_(y) is influenced by a constant gravitational acceleration g, pulling the point mass downwards. Any input fed to said system modifies its total impulse in y-direction and thus its vertical velocity.

The analog physical system is modeled by a linear state space model with two-dimensional input u (i.e., L=2) and scalar output y (i.e., H=1) according to

$\begin{matrix} {{A_{k} = \begin{bmatrix} 1 & T \\ 0 & 1 \end{bmatrix}},{B_{k} = \begin{bmatrix} 0 & 0 \\ {1/m} & 1 \end{bmatrix}},} & (75) \end{matrix}$ $\begin{matrix} {{C_{k} = \begin{bmatrix} 1 & 0 \end{bmatrix}},{D_{k} = \begin{bmatrix} 0 \\ 0 \end{bmatrix}}} & (76) \end{matrix}$

for k∈{1, . . . , K} where T is the time constant of the discretization. The extended system model is given by Ã_(k)=A_(k), {tilde over (B)}_(k)=B_(k), {tilde over (C)}_(k)=C_(k), {tilde over (D)}_(k)=D_(k), and

S=I _(2×2)  (77)

The extended input ũ (and also u) comprises of two input components, i.e., {tilde over (L)}=2. The component (ũ_(1,1), . . . , ũ_(K,1)) is a two-level control input and its corresponding prior p_(k)(ũ_(k,1), θ_(k)), k∈{1, . . . , K}, is chosen according to Section 4.1 with a=0 and b=1. The component (ũ_(1,2), . . . , ũ_(K,2)) is a constant input accounting for the gravitational pull and is defined as ũ_(k,2)=−Tg for all k∈{1, . . . , K}. The combined prior amounts to

p _(k)(ũ _(k),θ_(k))=p _(k)(u _(k,1),θ_(k))δ(ũ _(k,2) +Tg)  (78)

for k∈{1, . . . , K} where δ(·) is the Dirac delta.

The function (7) is given by

$\begin{matrix} {{p\left( {{\overset{\circ}{y}❘\overset{\sim}{u}},{\overset{\sim}{x}}_{0},\overset{\sim}{e},\zeta} \right)} \propto {\exp\left( {{- \frac{1}{2}}{\sum\limits_{k = 1}^{K}{w_{k}\left( {{\overset{\circ}{y}}_{k},{\overset{\sim}{y}}_{k}} \right)}^{2}}} \right)}} & (79) \end{matrix}$

with weights

$\begin{matrix} {w_{k} = \left\{ {\begin{matrix} {10,} & {k \in \left\{ {60,120,180,240} \right\}} \\ {0,} & {else} \end{matrix},{k \in \left\{ {1,\ldots,K} \right\}}} \right.} & (80) \end{matrix}$

with k∈{60, 120, 180, 240} representing the time instances of the prescribed checkpoints. The goal is to determine a binary input signal (u_(1,1), . . . , u_(K,1)) for said model such that the moving point mass passes through the checkpoints as closely as possible.

The numerical results of FIG. 11 are obtained with p({tilde over (x)}₀)=

({tilde over (x)}₀; 0₂, 0.01·I₂), {tilde over (e)}_(k)=0, T=0.1, m=1, g=0.25 and K=250, and with (41) and (42).

The four checkpoints at time instances k∈{60, 120, 180, 240} are illustrated by black crosses in the first plot. The determined input signal (u_(1,1), . . . , u_(K,1)) is indicated by stems in the second plot. The resulting output trajectory y is depicted as solid line in the first plot. As can be seen, the output trajectory y is an admissible trajectory and does not collide with any of the obstacles.

Notes

While there are shown and described presently preferred embodiment of the invention, it is to be distinctly understood that the invention is not limited thereto but may be otherwise variously embodied and practiced within the scope of the following claims.

REFERENCES

-   [1] A. H. Land and A. G. Doig, “An automatic method for solving     discrete programming problems,” ECONOMETRICA, vol. 28, no. 3, pp.     497-520, 1960. -   [2] J. Richalet, A. Rault, J. Testud, and J. Papon, “Model     predictive heuristic control,” Automatica (Journal of IFAC), vol.     14, no. 5, pp. 413-428, 1978. -   [3] T. Geyer, Model Predictive Control of High Power Converters and     Industrial Drives, pp. 3-23. John Wiley & Sons, 2016. -   [4] P. Karamanakos, T. Geyer, N. Oikonomou, F. Kieferndorf, and S.     Manias, “Model predictive control in power electronics: Strategies     to reduce the computational complexity,” in IECON 2013-39th Annual     Conference of the IEEE Industrial Electronics Society, pp.     5818-5823, IEEE, 2013. -   [5] Y. Zhang, W. Xie, Z. Li, and Y. Zhang, “Model predictive direct     power control of a PWM rectifier with duty cycle optimization,” IEEE     Transactions on Power Electronics, vol. 28, no. 11, pp. 5343-5351,     2013. -   [6] M. E. Tipping, “Sparse Bayesian learning and the relevance     vector machine,” Journal of Machine Learning Research, vol. 1, no.     Jun, pp. 211-244, 2001. -   [7] M. E. Tipping, A. Faul, and J. J. T. Avenue, “Fast marginal     likelihood maximisation for sparse Bayesian models,” in Proceedings     of the Ninth international Workshop on Artificial Intelligence and     Statistics, pp. 3-6,2003. -   [8] D. P. Wipf and B. D. Rao, “Sparse Bayesian learning for basis     selection,” IEEE Transactions on Signal Processing, vol. 52, no. 8,     pp. 2153-2164, 2004. -   [9] D. P. Wipf and S. S. Nagarajan, “A new view of automatic     relevance determination,” in Advances in Neural Information     Processing Systems, pp. 1625-1632, 2008. -   [10] J. Palmer, K. Kreutz-Delgado, D. Wipf, and B. Rao, “Variational     representations of non-Gaussian priors,” UCSD, San Diego, 2005. -   [11] J. Palmer, K. Kreutz-Delgado, B. D. Rao, and D. P. Wipf,     “Variational EM algorithms for non-Gaussian latent variable models,”     in Advances in Neural Information. Processing Systems, pp.     1059-1066, 2006. -   [12] H.-A. Loeliger, B. Ma, H. Malmberg, and F. Wadehn, “Factor     graphs with NUV priors and iteratively reweighted descent for sparse     least squares and more,” in 2018 IEEE 10th International Symposium     on Turbo Codes & Iterative Information Processing (ISTC), pp. 1-5,     IEEE, 2018. -   [13] R. P. Sallen and E. L. Key, “A practical method of designing RC     active filters,” IRE Transactions on Circuit Theory, vol. 2, no. 1,     pp. 74-85, 1955. -   [14] H.-A. Loeliger, L. Bruderer, H. Malmberg, F. Wadehn, and N.     Zalmai, “On sparsity by NUV-EM, Gaussian message passing, and Kalman     smoothing,” in 2016 Information Theory and Applications Workshop     (ITA), pp. 1-10, La Jolla, Calif., 2016. 

1. A method for controlling an analog physical system with input signal u=(u₁, . . . , u_(K)) to follow a given target trajectory y̆=(y̆₁, . . . , y̆_(K)), wherein at least one component (

, . . . ,

) of said input signal is discrete-valued with M levels, M∈{2, 3, . . . }, wherein u_(k)=(u_(k,1), . . . , u_(k,L))∈

^(L) is the input signal of the analog physical system at time k∈{1, . . . , K}, K∈

is a planning horizon, L is the number of input signal components,

(with 1≤

≤L) is the index of said discrete-valued component of u, y̆_(k)=(y̆_(k,1), . . . , y̆_(k,H))∈

^(H) is the given target trajectory at time k, H is the number of components of the target trajectory, wherein said method uses an extended system model with output signal {tilde over (y)}=({tilde over (y)}₁, . . . , {tilde over (y)}_(K)), {tilde over (y)}_(k)∈

^(H) for some {tilde over (H)}≥H, and with input signal ũ=(ũ₁, . . . , ũ_(K))∈

^(L) for some {tilde over (L)}≥L, such that u _(k) =Sũ _(k)  (81) for some matrix S and all k∈{1, . . . , K}, and with time-dependent parameters θ=(θ₁, . . . , θ_(K)) and optional additional parameters ξ=(ξ1, . . . , ξ_(K)), wherein ũ=(ũ₁, . . . , ũ_(K)) is determined by iteratively executing, in iterations i=1, 2, 3, . . . , wherein said method comprises the steps of (a) executing a maximization step in said extended system model with parameters θ fixed to θ^((i−1)) and fixed to θ^((i−1)), thereby obtaining a candidate input signal (ũ₁ ^((i)), . . . , ũ_(K) ^((i))) with optional precision information (V_(Ũ) ₁ ^((i)), . . . , V_(Ũ) _(K) ^((i))), and an output signal (y₁ ^((i)), . . . , y_(K) ^((i))) with optional precision information (V_({tilde over (Y)}) ₁ ^((i)), . . . , V_({tilde over (Y)}) _(K) ^((i))), and (b) determining new parameters θ^((i))=(θ₁ ^((i)), . . . , θ_(K) ^((i))) and optionally ξ^((i))=(ξ₁ ^((i)), . . . , ξ_(K) ^((i))), where θ_(k) ^((i)) is a function of ũ_(k) ^((i)) and V_(Ũ) _(k) ^((i)), and ξ_(k) ^((i)) is a function of {tilde over (y)}_(k) ^((i)) and V_({tilde over (Y)}) _(k) ^((i)), as computed in Step (a), and wherein said extended system model can be expressed as p(ũ,ẙ,{tilde over (x)} ₀ ,{tilde over (e)}|θ,ξ)∝p(ẙ|ũ,{tilde over (x)} ₀ ,{tilde over (e)},ξ)p(ũ,θ)p({tilde over (x)} ₀)p({tilde over (e)})  (82) wherein p(ũ, ẙ, {tilde over (x)}₀, {tilde over (e)}|θ, ξ) is a probability density function in ũ, ẙ, {tilde over (x)}₀ and {tilde over (e)} with parameters θ and ξ, ẙ=, (ẙ₁, . . . , ẙ_(k)), ẙ_(k)∈

^(H), is the target trajectory of said extended system model comprising y̆ and optionally additional trajectories, “∝” denotes equality up to a scale factor, said analog physical system is modeled by a discrete-time linear state space model with recursions x _(k) =A _(k) x _(k−1) B _(k) u _(k) D _(k) e _(k)  (83) y _(k) =C _(k) x _(k)  (84) for k∈{1, . . . , K}, and with state vector x_(k)∈

^(N), initial state x₀, noise e_(k)∈

^(G), model output y_(k)∈

^(H), and matrices A_(k), B_(k), C_(k), D_(k), said method uses an extended version of model of eq. 83 and eq. 84 which is given by the state space recursions {tilde over (x)} _(k) =Ã _(k) {tilde over (x)} _(k) +{tilde over (B)} _(k) Sũ _(k) +{tilde over (D)} _(k) {tilde over (e)} _(k)  (85) {tilde over (y)} _(k) ={tilde over (C)} _(k) {tilde over (x)} _(k)  (86) for k∈{1, . . . , K}, and with state vector x_(k)∈

^(N) with Ñ≥N, initial state {tilde over (x)}₀, noise e_(k)∈

^(G) with {tilde over (G)}≥G, and wherein the matrices A_(k), B_(k), C_(k) and D_(k) are derived from A_(k), B_(k), C_(k) and D_(k), p(ẙ|ũ, x₀, {tilde over (e)}, ξ) is given by $\begin{matrix} {{p\left( {{\overset{\circ}{y}❘\overset{\sim}{u}},{\overset{\sim}{x}}_{0},\overset{\sim}{e},\zeta} \right)} \propto {{\exp\left( {{- \frac{1}{2}}{\sum\limits_{k = 1}^{K}{{w_{k}\left( {{\overset{\circ}{y}}_{k} - {\overset{\sim}{y}}_{k}} \right)}^{T}{W_{k}\left( {{\overset{\circ}{y}}_{k} - {\overset{\sim}{y}}_{k}} \right)}}}} \right)}{\psi\left( {\overset{\sim}{y},\zeta} \right)}}} & (87) \end{matrix}$ where W_(k) is a real non-negative weight matrix and where y_(k) is the extended system model output signal determined by eq. 85 and eq. 86, ψ({tilde over (y)}, ξ) is an optional factor in eq. 87, which means it is either 1, or if present, it may take the form $\begin{matrix} {{\psi\left( {\overset{\sim}{y},\zeta} \right)} = {\prod\limits_{k = 1}^{K}{\psi_{k}\left( {{\overset{\sim}{y}}_{k},\zeta_{k}} \right)}}} & (88) \end{matrix}$ such that, for fixed ξ_(k), ψ_(k)({tilde over (y)}_(k), ξ_(k)) is a Gaussian probability density function in y_(k), up to a scale factor, p({tilde over (x)}₀) is a Gaussian probability density, p({tilde over (e)}) factors as $\begin{matrix} {{p\left( \overset{\sim}{e} \right)} = {\prod\limits_{k = 1}^{K}{p\left( {\overset{\sim}{e}}_{k} \right)}}} & (89) \end{matrix}$ where each p({tilde over (e)}_(k)) is a Gaussian probability density, p(ũ, θ) factors as $\begin{matrix} {{\rho\left( {\overset{\sim}{u},\theta} \right)} = {\prod\limits_{k = 1}^{K}{\rho_{k}\left( {{\overset{\sim}{u}}_{k},\theta_{k}} \right)}}} & (90) \end{matrix}$ such that, for fixed θ_(k), p_(k)(ũ_(k), θ_(k)) is a Gaussian probability density function in u_(k), up to a scale factor, and for at least one index

∈{1, . . . , {tilde over (L)}}, p_(k)(ũ_(k), θ_(k)) contains as a factor the product

(

;m ₁,σ_(k,1) ²) . . .

(

;m _(J),σ_(k,j) ²)  (91) of J≥2 Gaussian probability density functions with different means m₁, . . . , m_(J) and with variances σ_(k,1) ², . . . , σ_(k,J) ² determined by θ_(k).
 2. The method of claim 1 wherein, in Step (a), the candidate input signal (ũ₁ ^((i)), . . . , ũ_(K) ^((i))) is the mean of the posterior distribution p(ũ|ẙ, θ^((i−1)), ξ^((i−1))).
 3. The method of claim 1 wherein, in Step (a), the output signal ({tilde over (y)}₁ ^((i)), . . . , {tilde over (y)}_(K) ^((i))) is the mean of the posterior distribution p({tilde over (y)}|ẙ, θ^((i−1)), ξ^((i−1)))
 4. The method of claim 1 wherein, in Step (a), the precision information V_(U) _(k) (i), k∈{1, . . . , K}, comprises the posterior variances of p(

ẙ, θ^((i−1)), ξ^((i−1))) wherein

∈{1, . . . , L} indicates a discrete-valued component of ũ_(k).
 5. The method of claim 1 wherein, in Step (a), the precision information V_(Y) _(k) ^((i)), k∈{1, . . . , K}, comprises the posterior variances of p({tilde over (y)}_(k,{tilde over (h)})|ẙ, θ^((i−1)), ξ^((i−1))) for all {tilde over (h)}∈{1, . . . ,{tilde over (H)}}.
 6. The method of claim 1 wherein, in Step (b), the new parameters θ_(k) ^((i)) are determined by $\begin{matrix} {\theta_{k}^{(i)} = {\underset{\theta_{k}}{argmax}{\rho_{k}\left( {{\overset{\sim}{u}}_{k}^{(i)},\theta_{k}} \right)}}} & (92) \end{matrix}$ for k∈{1, . . . , K}.
 7. The method of claim 1 wherein, in Step (b), the new parameters θ_(k) ^((i)) are determined by $\begin{matrix} {\theta_{k}^{(i)} = {\underset{\theta_{k}}{argmax}{E\left\lbrack {\log{\rho_{k}\left( {{\overset{\sim}{U}}_{k},\theta_{k}} \right)}} \right\rbrack}}} & (93) \end{matrix}$ for k∈{1, . . . , K} and where the expectation E[·] is with respect to p(ũ_(k)|ẙ, θ^((i−1)), ξ^((i−1))).
 8. The method of claim 1 any of the preceding claims wherein p _(k)(ũ _(k),θ_(k))=

(ũ _(k) ;a,σ _(k,1) ²)

(ũ _(k) ;b,σ _(k,2) ²)  (94) where θ_(k)=(σ_(k,1) ², σ_(k,2) ²), S=1, {tilde over (L)}=L=1 and with the two levels a∈

and b∈

.
 9. The method of claim 1 wherein p _(k)(ũ _(k),θ_(k))=p _(k)(ũ _(k,1) ,ũ _(k,2),θ_(k))  (95) with p _(k)(ũ _(k,1) ;ũ _(k,2);θ_(k))=

(ũ _(k,1);0,σ_(k,1,1) ²)

(ũ _(k,1) ;b,σ _(k,1,2) ²)·

(ũ _(k,2);0,σ_(k,2,1) ²)

(ũ _(k,2) ;−b,σ _(k,2,2) ²)  (96) where θ_(k)=(σ_(k,1,1) ², σ_(k,1,2) ², σ_(k,2,1) ², σ_(k,2,2) ²), S=[1 1], {tilde over (L)}=2, L=1 and b∈

.
 10. The method of claim 1 wherein a preference for sparsity in the number of level switches in at least one of the discrete valued input signal components (

, . . . ,

) is achieved by utilizing extended state space matrices Ã_(k), {tilde over (B)}_(k), {tilde over (C)}_(k) and {tilde over (D)}_(k), such that said level switches appear as an additional output signal component ({tilde over (y)}_(1,{tilde over (h)}), . . . , {tilde over (y)}_(K,{tilde over (h)})) with {tilde over (y)} _(k,{tilde over (h)})=

−

  (97) for at least one {tilde over (h)}∈{1, . . . , {tilde over (H)}}.
 11. The method of claim 1 wherein W_(k)≠0_({tilde over (H)}×{tilde over (H)}) for several k∈{k₁, k₂, . . . } ⊂{1, . . . , K} and W_(k)=0_({tilde over (H)}×{tilde over (H)}) otherwise.
 12. The method of any of the preceding claims wherein eq. 87 is $\begin{matrix} {{p\left( {{\overset{\circ}{y}❘\overset{\sim}{u}},{\overset{\sim}{x}}_{0},\overset{\sim}{e},\zeta} \right)} \propto {{\exp\left( {{- \frac{1}{2}}{\sum\limits_{k = 1}^{K}{{w_{k}\left( {{\overset{\circ}{y}}_{k} - {\overset{\sim}{y}}_{k}} \right)}^{T}{W_{k}\left( {{\overset{\circ}{y}}_{k} - {\overset{\sim}{y}}_{k}} \right)}}}} \right)}{\exp\left( \frac{{- {\beta_{k,\overset{\sim}{h}}^{2}\left( {2 - p} \right)}}\left( w_{k,\overset{\sim}{h}} \right)^{\frac{- p}{2 - p}}}{2p} \right)}}} & (98) \end{matrix}$ wherein W_(k)=diag (w_(k,1), . . . , w_(k,H)), β_(k,{tilde over (h)}) is a constant scale factor, depends on the initial weight w_(k h,) and is defined by $\begin{matrix} {{\beta_{k,\overset{\sim}{h}} = \left( \frac{{pw}_{k,\overset{\sim}{h}}}{2} \right)^{\frac{1}{2 - p}}},} & (99) \end{matrix}$ p is the order of the utilized p-norm with p>0, p≠2, ξ_(k)=w_(k,{tilde over (h)}), and wherein the optional parameters ξ_(k) are determined in every iteration i by $\begin{matrix} {{\zeta_{k}^{(i)} = {w_{k,\overset{\sim}{h}}^{(i)} = {❘\frac{{\overset{\circ}{y}}_{k,\overset{\sim}{h}} - {\overset{\sim}{y}}_{k,\overset{\sim}{h}}^{(i)}}{\beta_{k,\overset{\sim}{h}}}❘}^{p - 2}}},} & (100) \end{matrix}$ for k∈{1, . . . , K}.
 13. The method of claim 12 wherein the optional factor in eq. 88 penalizes the difference |ẙ_(k,{tilde over (h)})−{tilde over (y)}_(k,{tilde over (h)})| by the p-th power by specifically setting the factor ψ({tilde over (y)}, ξ) to $\begin{matrix} {{{\psi_{k}\left( {{\overset{\sim}{y}}_{k},\zeta_{k}} \right)} = {\sqrt{\frac{2\pi}{w_{k,\overset{\sim}{h}}}}{\exp\left( \frac{{- {\beta_{k,\overset{\sim}{h}}^{2}\left( {2 - p} \right)}}\left( w_{k,\overset{\sim}{h}} \right)^{\frac{- p}{2 - p}}}{2p} \right)}}},} & (101) \end{matrix}$ for k∈{1, . . . , K}.
 14. The method of claim 1 wherein eq. 87 is $\begin{matrix} {{p\left( {{\overset{\circ}{y}❘\overset{\sim}{u}},{\overset{\sim}{x}}_{0},\overset{\sim}{e},\zeta} \right)} \propto {{\exp\left( {{- \frac{1}{2}}{\sum\limits_{k = 1}^{K}{{w_{k}\left( {{\overset{\circ}{y}}_{k} - {\overset{\sim}{y}}_{k}} \right)}^{T}{W_{k}\left( {{\overset{\circ}{y}}_{k} - {\overset{\sim}{y}}_{k}} \right)}}}} \right)}{{\exp\left( {{- \frac{1}{2}}{\sum\limits_{k = 1}^{K}{w_{k,\overset{\sim}{h}}^{\prime}\left( {{\overset{\circ}{y}}_{k,\overset{\sim}{h}} + \eta_{k,\overset{\sim}{h}} - {\overset{\sim}{y}}_{k,\overset{\sim}{h}}} \right)}^{2}}} \right)} \cdot {\exp\left( {{- \frac{1}{2}}{\sum\limits_{k = 1}^{K}\frac{\gamma_{\overset{\sim}{h}}^{2}}{w_{k,\overset{\sim}{h}}}}} \right)}}{\exp\left( {{- \frac{1}{2}}{\sum\limits_{k = 1}^{K}\frac{\gamma_{\overset{\sim}{h}}^{2}}{w_{k,\overset{\sim}{h}}^{\prime}}}} \right)}}} & (102) \end{matrix}$ wherein W_(k)=diag (w_(k,1), . . . , w_(k,{tilde over (H)})), w_(k,{tilde over (h)}) is an auxiliary weight, η_(k,{tilde over (h)}) is the width of the bound at time k, γ_({tilde over (h)}) is a constant scale factor, ξ_(k)=(w_(k,{tilde over (h)}), w_(k,{tilde over (h)}) ^(′)), and wherein the optional parameters ξ_(k) are determined in every iteration i by $\begin{matrix} {{\zeta_{k}^{(i)} = {\left( {w_{k,\overset{\sim}{h}}^{(i)},w_{k,\overset{\sim}{h}}^{+ {(i)}}} \right) = \left( {{❘\frac{\gamma_{\overset{\sim}{h}}}{{\overset{\circ}{y}}_{k,\overset{\sim}{h}} - {\overset{\sim}{y}}_{k,\overset{\sim}{h}}^{(i)}}❘},{❘\frac{\gamma_{\overset{\sim}{h}}}{{\overset{\circ}{y}}_{k,\overset{\sim}{h}} + \eta_{k,\overset{\sim}{h}} - {\overset{\sim}{y}}_{k}^{(i)}}❘}} \right)}},} & (103) \end{matrix}$ for k∈{1, . . . , K}.
 15. The method of claim 14 wherein the optional factor in eq. 88 penalizes γ(|ẙ_(k,{tilde over (h)})−{tilde over (y)}_(k,{tilde over (h)})|+|ẙ_(k,{tilde over (h)})+η_(k,{tilde over (h)})−{tilde over (y)}_(k,{tilde over (h)})|) by specifically setting the factor ψ({tilde over (y)}, ξ) to $\begin{matrix} {{{\psi_{k}\left( {{\overset{\sim}{y}}_{k},\zeta_{k}} \right)} = {\sqrt{\frac{2\pi}{w_{k,\overset{\sim}{h}}}}{\exp\left( \frac{- \gamma_{\overset{\sim}{h}}^{2}}{2w_{k,\overset{\sim}{h}}} \right)}{\exp\left( {{- \frac{1}{2}}{w_{k,\overset{\sim}{h}}^{\prime}\left( {{\overset{\circ}{y}}_{k,\overset{\sim}{h}} + \eta_{k,\overset{\sim}{h}} - {\overset{\sim}{y}}_{k,\overset{\sim}{h}}} \right)}^{2}} \right)}{\exp\left( \frac{- \gamma_{\overset{\sim}{h}}^{2}}{2w_{k,\overset{\sim}{h}}^{\prime}} \right)}}},} & (104) \end{matrix}$ for k∈{1, . . . , K}.
 16. The method of claim 1 wherein S is a linear mapping between at least one two-level component of u and at least one discrete-valued component of u.
 17. A device for carrying out the method of claim 1, said device comprising: an output interface for generating said input signal u to the analog physical system and a digital control unit connected to said output interface and adapted and structured to carry out the method of claim
 1. 18. Use of the method of claim 1 for at least one of: digital-to-analog conversion by feeding a discrete-valued signal into an analog low-pass filter, digital-to-analog conversion by feeding a discrete-valued signal into an analog band-pass filter, controlling an electric motor with at least one discrete-level input signal, controlling an electric power converter with at least one discrete-level input signal. 